<?
$member_id_re = '/^[A-Za-z0-9]{4,20}$/';		// 회원 아이디 검사용 패턴
$password_re = '/^[A-Za-z0-9~!@#$%&*()_=+\\\|\/?,.<>;: ^-]{4,16}$/';	// 비밀번호 검사용 패턴
$hphone_re = '/^(01[016789])([0-9]{3,4})([0-9]{4})$/';	// 핸드폰 패턴

$VALIDATE_ERROR_MESSAGE = "";

//POST방식으로 자신에게 요청했는지 검증.
function ValidCheck_isSelfRequest($refer, $isPOST = true, $qry_string = null)
{
		$isSelf = false;
		$submit_url = "";
		if (preg_match('!^https/!i', $_SERVER['SERVER_PROTOCOL']))
			$submit_url .= "https://";
		else
			$submit_url .= "http://";
		$submit_url .= $_SERVER['SERVER_NAME'];
		if ($_SERVER['SERVER_PORT'] != 80)
			$submit_url .= ":" . $_SERVER['SERVER_PORT'];
		$submit_url .= $_SERVER['SCRIPT_NAME'];
		
		if ( $qry_string != null )
			$submit_url .= "?" . $qry_string;
		

		
		if (strcasecmp($refer, $submit_url) == 0) $isSelf = true;
		//if ( strpos($refer, $submit_url) == 0 ) $isSelf = true;
	
		if ( $isPOST ) {
			$isSelf = ($isSelf && ($_SERVER['REQUEST_METHOD'] == 'POST'));
		} else {
			$isSelf = ($isSelf && ($_SERVER['REQUEST_METHOD'] == 'GET'));
		}
		return $isSelf;
}

// 회원 아이디 유효성 검사
function ValidCheck_isValidMemberId($member_id)
{
	global $VALIDATE_ERROR_MESSAGE;
	global $member_id_re;
	$VALIDATE_ERROR_MESSAGE = "";

	// 회원 아이디 기본 조건
	// 영문자, 숫자로만 구성, 4~20글자
	// 첫 글자는 반드시 영문자 또는 숫자
	if (!preg_match($member_id_re, $member_id))
	{
		$VALIDATE_ERROR_MESSAGE = '회원 아이디 형식이 올바르지 않습니다.\n\n- 영문자, 숫자로만 구성되어야 합니다.\n\n- 최소 4글자 이상, 최대 20글자 이내이어야 합니다.';
		return false;
	}
	return true;
}


// 회원 중복 체크
function ValidCheck_isExistMember($member_id)
{
	global $VALIDATE_ERROR_MESSAGE;
	$VALIDATE_ERROR_MESSAGE = "";

	if ( MemberIdExist($member_id))
	{
		$VALIDATE_ERROR_MESSAGE = '같은 아이디가 존재 합니다.';
		return false;
	}
	return true;
}

// 비밀번호 유효성 검사
function ValidCheck_isValidPassword($password1, $password2)
{
	global $VALIDATE_ERROR_MESSAGE;
	global $password_re;
	$VALIDATE_ERROR_MESSAGE = "";

	// 비밀번호 기본 조건
	// 영문자, 숫자, ' ' (한글, 따옴표 제외한 키보드문자) 로만 구성, 4~20글자
	if (!preg_match($password_re, $password1))
	{
		$VALIDATE_ERROR_MESSAGE = '비밀번호 형식이 올바르지 않습니다.\n\n- 영문자, 숫자 다음의 기호문자로만 구성되어야 합니다. ~!@#$%^&*()_-=+|/?,.<>;:\n\n- 최소 4글자 이상, 최대 20글자 이내이어야 합니다.';
		return false;
	}

	if ($password1 != $password2)
	{
		$VALIDATE_ERROR_MESSAGE = '비밀번호가 서로 일치하지 않습니다. 다시한번 확인해 주십시오.';
		return false;
	}

	return true;
}

function ValidCheck_isValidPhone($hphone)
{
	global $VALIDATE_ERROR_MESSAGE;
	global $hphone_re;
	$VALIDATE_ERROR_MESSAGE = "";

	if (!preg_match($hphone_re, $hphone))
	{
		$VALIDATE_ERROR_MESSAGE = '전화번호 형식이 올바르지 않습니다.\n\n- 앞은 0으로 시작되고, 숫자로만 10~11자리입니다.';
		return false;
	}

	return true;
}

//공백여부 체크
function ValidCheck_isNotEmpty($str)
{
	global $VALIDATE_ERROR_MESSAGE;
	$VALIDATE_ERROR_MESSAGE = "";

	if ( strlen($str) == 0)
	{
		$VALIDATE_ERROR_MESSAGE = '값을 입력해 주세요.';
		return false;
	}
	return true;
}
?>